/**
 * 
 */
package com.mbengue.corp.apr.ra.dao;

import java.util.List;

import com.mbengue.corp.apr.ra.core.Adresse;

/**
 * Gere l'ajout, la suppression, la modification et la recherche d'adresse
 * @author MMB11447
 *
 */
public interface AdresseDao extends AprDao<Adresse, Long> {
  /**
   * Ajoute la nouvelle adresse dans la base de donnees.
   * 
   * @param adresse {@link Adresse} a ajouter
   * @throws HibernateException
   */
  //public void ajouterAdresse(Adresse adresse) throws HibernateException;
  /**
   * Retrouve l'adresse dont l'identifiant est donne en entree
   * 
   * @param idAdresse {@link Long}
   * @return {@link Adresse} correspondant a l'identifiant
   */
  public Adresse trouverAdresse(long idAdresse);

  /**
   * Retourne toutes les adresses comportant le code postal donne en entree.
   * 
   * @param codePostal {@link String} code postal de la localite
   * @return {@link List} d'adresse
   */
  public List<Adresse> trouverAdresseParCP(String codePostal);

  /**
   * Met à jour l'adresse
   * 
   * @param aAdresse
   */
  public void update(Adresse aAdresse);
}
